﻿using EntGuayasSLA.BL;
using EntGuayasSLA.BL.Licenciamiento;
using Ext.Net;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace EGuayas.Web.Usuario
{
    public partial class pgClave : pgBase
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            try
            {

            }
            catch (Exception ex)
            {
                RegistrarLog(ex);
            }
        }
        protected void CambiarClaveClick(object sender, DirectEventArgs e)
        {
            try
            {

                string gridJson = e.ExtraParams["prmValues"];
                var dataItem = JSON.Deserialize<Dictionary<string, string>>(gridJson);
                Guid idPersona = Guid.Parse(GetSessionUsuario.PersonaId);
                // 
                Usuarios user = Usuarios.GetEditableRoot(idPersona);
                if (user.Clave ==Seguridad.DesEncriptar(dataItem["txtPassword0"]))
                {
                    Persona objPersona = Persona.GetEditableRoot(idPersona);
                    user.Clave = Seguridad.Encriptar(dataItem["txtPassword1"]);
                    user.Save();
                    ///
                    var sTxtMail = "Estimado Usuario:<br/><br/>";
                    sTxtMail += "Bienvenido a Plataforma de Licenciamiento, Auditoría y Seguimiento Ambiental del Gobierno Provincial del Guayas denominado Plataforma PLASA.<br/><br/>";
                    sTxtMail = ClaveIngreso(user, sTxtMail);
                    sTxtMail = PieCorreo(sTxtMail);
                    MyMail.Enviar("", objPersona.Email, "Clave modificada", sTxtMail, true,"Notificación clave");
                    X.Msg.Show(new MessageBoxConfig
                    {
                        Buttons = MessageBox.Button.OK,
                        Icon = MessageBox.Icon.INFO,
                        Title = "Información",
                        Message = string.Format("Clave de usuario <i>{0}</i> notificado  a  correo electrónico correspondiente:<i>{1}****.@{2}</i>", GetSessionUsuario.UsuarioRolNombre, objPersona.Email.Substring(0, (objPersona.Email.Length > 4) ? 3 : 2), objPersona.Email.Substring(objPersona.Email.LastIndexOf('@') + 1))
                    });
                }
                else
                {
                    X.Msg.Show(new MessageBoxConfig
                    {
                        Buttons = MessageBox.Button.OK,
                        Icon = MessageBox.Icon.ERROR,
                        Title = "Información",
                        Message = string.Format("Clave incorrecta, ingrese clave anterior")
                     });
                    this.txtPassword0.Text = "";
                    this.txtPassword1.Text = "";
                    this.txtPassword2.Text = "";
                
                }
            }
            catch (Exception ex)
            {
                RegistrarLog(ex);

            }
        }

    }
}